python网络编程03 socketserver模块

您所在的位置:网站首页 python socketserver模块详解 python网络编程03 socketserver模块

python网络编程03 socketserver模块

2023-03-25 03:35| 来源: 网络整理| 查看: 265

class socketserver.TCPServer(server_address, RequestHandlerClass, bind_and_activate=True) 它使用Internet TCP协议,该协议在客户机和服务器之间提供连续的数据流。 如果bind_and_activate为true,构造函数会自动尝试调用server_bind()和server_activate()。 其他参数传递给BaseServer基类。 class socketserver.UDPServer(server_address, RequestHandlerClass, bind_and_activate=True) 它使用数据报,这是离散的信息包,可能会无序地到达或在传输中丢失。 参数与TCPServer相同。

class socketserver.UnixStreamServer(server_address, RequestHandlerClass, bind_and_activate=True)class socketserver.UnixDatagramServer(server_address, RequestHandlerClass, bind_and_activate=True)

这两个不常用的类类似于TCP和UDP类,但使用Unix域套接字;它们在非unix平台上不可用。 参数与TCPServer相同。

这四个类同步处理请求;每个请求必须完成后才能启动下一个请求。如果每个请求都需要很长时间才能完成,这是不合适的,因为它需要大量的计算,或者因为它返回大量的数据,而客户机处理起来很慢。解决方案是每个请求都创建一个单独的进程或线程来处理;ForkingMixIn和ThreadingMixIn的混合类可以用来支持异步行为。

继承图中有五个类,其中四个表示四种类型的同步服务器 注意UnixDatagramServer派生于UDPServer,而不是UnixStreamServer --- IP和Unix流服务器之间的唯一区别是地址族,这只是在两个Unix服务器类中重复。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3